module.exports = {
  // 微信开放平台配置
  openPlatform: {
    appId: process.env.WECHAT_APP_ID || 'wx1234567890abcdef',           // 微信开放平台AppID（测试用）
    appSecret: process.env.WECHAT_APP_SECRET || 'test_app_secret_123456', // 微信开放平台AppSecret（测试用）
    redirectUri: process.env.WECHAT_REDIRECT_URI || 'http://localhost:3000/wechat-callback.html', // 回调地址
    scope: 'snsapi_login', // 网页应用授权作用域
    state: 'wechat_login' // 自定义状态参数
  },
  
  // 微信公众平台配置（如果需要）
  mp: {
    appId: process.env.WECHAT_MP_APP_ID || 'your_mp_app_id',
    appSecret: process.env.WECHAT_MP_APP_SECRET || 'your_mp_app_secret'
  },
  
  // API接口地址
  api: {
    // 微信开放平台API
    openPlatform: {
      qrConnect: 'https://open.weixin.qq.com/connect/qrconnect', // 二维码授权页面
      accessToken: 'https://api.weixin.qq.com/sns/oauth2/access_token', // 获取access_token
      userInfo: 'https://api.weixin.qq.com/sns/userinfo', // 获取用户信息
      refreshToken: 'https://api.weixin.qq.com/sns/oauth2/refresh_token' // 刷新access_token
    },
    // 微信公众平台API
    mp: {
      accessToken: 'https://api.weixin.qq.com/cgi-bin/token', // 获取access_token
      userInfo: 'https://api.weixin.qq.com/cgi-bin/user/info' // 获取用户信息
    }
  },
  
  // 错误码映射
  errorCodes: {
    '40029': 'invalid code',
    '45011': 'api minute-quota reach limit',
    '41008': 'missing code',
    '40013': 'invalid appid',
    '40014': 'invalid access_token',
    '40015': 'invalid scope',
    '40016': 'invalid state',
    '40017': 'invalid grant_type',
    '40018': 'invalid openid',
    '40019': 'invalid refresh_token',
    '40020': 'invalid unionid',
    '40021': 'invalid user_info',
    '40022': 'invalid user_info_hash',
    '40023': 'invalid user_info_signature',
    '40024': 'invalid user_info_timestamp',
    '40025': 'invalid user_info_nonce',
    '40026': 'invalid user_info_encrypted_data',
    '40027': 'invalid user_info_iv',
    '40028': 'invalid user_info_session_key',
    '40029': 'invalid user_info_code',
    '40030': 'invalid user_info_raw_data',
    '40031': 'invalid user_info_signature',
    '40032': 'invalid user_info_watermark',
    '40033': 'invalid user_info_appid',
    '40034': 'invalid user_info_timestamp',
    '40035': 'invalid user_info_nonce',
    '40036': 'invalid user_info_encrypted_data',
    '40037': 'invalid user_info_iv',
    '40038': 'invalid user_info_session_key',
    '40039': 'invalid user_info_code',
    '40040': 'invalid user_info_raw_data',
    '40041': 'invalid user_info_signature',
    '40042': 'invalid user_info_watermark',
    '40043': 'invalid user_info_appid',
    '40044': 'invalid user_info_timestamp',
    '40045': 'invalid user_info_nonce',
    '40046': 'invalid user_info_encrypted_data',
    '40047': 'invalid user_info_iv',
    '40048': 'invalid user_info_session_key',
    '40049': 'invalid user_info_code',
    '40050': 'invalid user_info_raw_data',
    '40051': 'invalid user_info_signature',
    '40052': 'invalid user_info_watermark',
    '40053': 'invalid user_info_appid',
    '40054': 'invalid user_info_timestamp',
    '40055': 'invalid user_info_nonce',
    '40056': 'invalid user_info_encrypted_data',
    '40057': 'invalid user_info_iv',
    '40058': 'invalid user_info_session_key',
    '40059': 'invalid user_info_code',
    '40060': 'invalid user_info_raw_data',
    '40061': 'invalid user_info_signature',
    '40062': 'invalid user_info_watermark',
    '40063': 'invalid user_info_appid',
    '40064': 'invalid user_info_timestamp',
    '40065': 'invalid user_info_nonce',
    '40066': 'invalid user_info_encrypted_data',
    '40067': 'invalid user_info_iv',
    '40068': 'invalid user_info_session_key',
    '40069': 'invalid user_info_code',
    '40070': 'invalid user_info_raw_data',
    '40071': 'invalid user_info_signature',
    '40072': 'invalid user_info_watermark',
    '40073': 'invalid user_info_appid',
    '40074': 'invalid user_info_timestamp',
    '40075': 'invalid user_info_nonce',
    '40076': 'invalid user_info_encrypted_data',
    '40077': 'invalid user_info_iv',
    '40078': 'invalid user_info_session_key',
    '40079': 'invalid user_info_code',
    '40080': 'invalid user_info_raw_data',
    '40081': 'invalid user_info_signature',
    '40082': 'invalid user_info_watermark',
    '40083': 'invalid user_info_appid',
    '40084': 'invalid user_info_timestamp',
    '40085': 'invalid user_info_nonce',
    '40086': 'invalid user_info_encrypted_data',
    '40087': 'invalid user_info_iv',
    '40088': 'invalid user_info_session_key',
    '40089': 'invalid user_info_code',
    '40090': 'invalid user_info_raw_data',
    '40091': 'invalid user_info_signature',
    '40092': 'invalid user_info_watermark',
    '40093': 'invalid user_info_appid',
    '40094': 'invalid user_info_timestamp',
    '40095': 'invalid user_info_nonce',
    '40096': 'invalid user_info_encrypted_data',
    '40097': 'invalid user_info_iv',
    '40098': 'invalid user_info_session_key',
    '40099': 'invalid user_info_code',
    '40100': 'invalid user_info_raw_data'
  }
}; 